<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>键盘事件</title>
    <script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
    <!-- 
        1.Vue中常用额定按键别名
            回车=> enter
            删除=> delete (捕获“删除”和“退格”键)
            退出=> esc
            空格=> space
            换行=> tab (特殊，必须配合@keydown使用)
            上=> up
            下=> down
            左=> left
            右=> right
        2.Vue未提供别名的按键，可以使按键原始的key去绑定，但注意要转为kebab-case（短横线命名）
        3.系统修饰键（用法特殊）：ctrl、alt、shift、meta（徽标键）
            （1）配合keyup使用：按下修饰键的同时，再按下其他键，随后释放其他键，事件才被触发
            （2）配合keydown使用：正常触发事件
        4.也可以使用keyCode去指定具体的按键（不推荐）
        5.Vue.config.keyCodes.自定义键名 = 键码 ，可以去定制按键别名
        注意：按键名可以连续使用，如@keyup.ctrl.y
     -->
    <div id="root">
        <h2>你好,{{name}}</h2>
        <!-- @keyup.caps-lock：当遇见是两个单词组成的按键时，需要转换驼峰，由-代替，比如CapsLock【切换大小写键】 -->
        <input type="text" placeholder="按下回车提示输入" @keyup.caps-lock="showInfo">
    </div>
    
    <script type="text/javascript">
        // Vue.config.keyCodes.huiche = 13 自定义按键别名，不推荐使用
        new Vue({
            el:'#root',
            data:{
                name:'世界',
            },
            methods:{
                showInfo(event){
                    // if(event.keyCode !== 13) return 如果不是回车按键就直接跳过，可以直接使用@keyup.enter代替
                    // 打印键盘上的按键名称和按键编码
                    console.log(event.key,event.keyCode)
                    console.log(event.target.value)
                }
            }
        })
    </script>
</body>
</html>